An event may serve as a triggering mechanism to an application processor (AP). In other words, the event may be a way for a module, piece of software, hardware, firmware or some other element of a computing system to seek the attention of, or an action by, the AP. Some events may be asynchronous, that is occurring independently of the main program flow. Such events may be related, for example, to hardware interrupts. Alternatively, some events may be synchronous, that is the event occurs as part of the main program flow and occurrence of the event may temporarily pause or halt the program flow. Synchronous events may be related, for example, to software triggered read/write register access.
Modern computing systems, such as embedded systems, may have complex subsystems and multiple hardware driver components causing various types of events. Such types of events may include events like a display being powered on, a network packet being received, a notification of a system shutdown, and so forth. Within such complex systems, it may be difficult to organize and track occurrences of different types of events in the systems.